Methods and apparatus for interfacing application programs with a signal collector

ABSTRACT

Embodiments of the invention relate to a system having multiple application programs that process signals obtained from a signal collector. In some embodiments, the signal collector may have a common API that may be shared by two or more application programs. This allows two application programs to use the same signal collector.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. §119(e) to commonly-owned U.S. provisional patent application Ser. No. 60/879,912, entitled METHODS AND APPARATUS FOR USING A RECEIVER, filed on Jan. 10, 2007 under attorney docket number L0562.70073US00. This provisional patent application is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

Embodiments of the present invention relate to interfacing application programs with a signal collector.

DESCRIPTION OF THE RELATED ART

Detection systems exist for detecting signals generated by emitters which are of interest. For example, there are scanners (e.g., a police scanner) that are capable of scanning a frequency band for transmissions within that frequency band. In the case of a police scanner, channels are scanned sequentially to find a signal of interest. Scanning is achieved by tuning receiver hardware to a particular frequency to observe one or more transmissions within that particular frequency.

There are more sophisticated systems to detect transmitted signals that use other methods for determining signals of interest. For instance, there are what are referred to as Electronic Support Measures/Electronic Intelligence (ESM/ELINT) systems for conducting surveillance (e.g., radar, and other signals across a wide range of frequency spectrums). These systems detect one or more signals produced by emitters (often called “threats”) that are detected and observed.

For example, in a military aircraft or other vehicle, enemy signals (e.g., radar) may be observed that are capable of detecting the vehicle (e.g., an airplane). These threats may need to be determined prior to detection to ensure the safety of the vehicle, and are often observed and classified to identify the particular threat. For example, certain signals may have particular signatures that are indicative of certain types of emitters. Further, there may be a need to detect and identify the location of a threat (e.g., a radar installation) for targeting purposes.

SUMMARY OF THE INVENTION

One embodiment is directed to a method, in a computer system comprising at least one processor that executes at least two application programs and a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software, of operating the signal collector. The method comprises: operating the signal collection software for a first period of time using a first of the at least two application programs via an application programming interface (API); and operating the signal collection software for a second period of time using a second of the at least two application programs via the API.

Another embodiment is directed to at least one computer readable medium encoded with instructions that, when executed on a computer system comprising at least one processor that executes at least two application programs and a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software, performs a method comprising: interfacing the signal collection software for a first period of time with a first of the at least two application programs; and interfacing the signal collection software for a second period of time with a second of the at least two application programs.

A further embodiment is directed to a computer system comprising: at least one processor that executes at least two application programs; a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software; and at least one controller that: interfaces the signal collection software for a first period of time with a first of the at least two application programs; and interfaces the signal collection software for a second period of time with a second of the at least two application programs.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of a computer system having a signal collector that is shared by multiple application programs, in accordance with some embodiments; and

FIG. 1B is a block diagram of a computer system having an application program that uses two signal collectors.

DETAILED DESCRIPTION

Frequently, in electronic warfare and other situations, multiple software applications process signals received by radio receivers to provide some functionality. For example, a vehicle may have an electronic support measures (ESM) application program which may process signals to locate enemy radar and/or other sources of electromagnetic energy. The vehicle may also have an Electronic Signals Intelligence (ELINT) application program that processes non-communication signals and compares collected signal parameters to known criteria to determine what type of emitter transmitted the signal. Further, the vehicle may also have a GeoLoc application program that uses multi-ship location techniques (e.g., processing emitter signals received by multiple different platforms in different locations) to determine the location of an emitter.

These application programs know what information they want and they know how to process the information once they have received it, but they do not know how to operate or control receiver hardware to collect this information. Thus, these application programs typically interact with a signal collection software program which controls the receiver hardware. That is, an application program, such as, for example, an ESM application program, may issue a request to the signal collection software for certain information (e.g., signals in a specified frequency range). The signal collection software may control the receiver hardware to obtain the requested information and may return it to the application program.

In prior art systems, each application program in a vehicle had custom tightly-coupled signal collection software designed to operate with the application program and dedicated receiver hardware for the application program. As used herein, the term “collector” refers to the combination of RF hardware and signal collection software. Thus, in prior art systems, a vehicle which had ESM, ELINT, and GeoLoc applications programs would have three collectors, each designed to operate with one of the on-board application programs.

Applicants have appreciated that having multiple collectors in a vehicle may result in increased cost and may increase the amount of space needed to house the receiver hardware. That is, increased costs may results from the costs of developing, purchasing, and/or maintaining multiple collectors.

Thus, some embodiments of the invention are directed to providing a collector that is decoupled from the application program. That is, the signal collection software of the collector may provide a standard interface that any application program may use to collect signals. That is, the collector may publish a signal collection application programming interface (API) that provides an interface between the application program and the collector. The API shields the application program from having to know about the details of the underlying receiver hardware. Any suitable API may be used, as the invention is not limited in this respect.

In some embodiments, an adapter may be provided that accepts requests from application programs accustomed to making application-specific requests to a collector that is specific to that application program and converts these requests into a format in which they may be provided to the API of the collector.

Once the Application and Collector are decoupled, many subsystem-wide services are distilled into a “Server” layer. This layer provides common services to all Application(s) and Collector(s) and alleviates the need for multiple software components to talk to the same onboard hardware. Currently, servers may be used for External Time, Navigation, BIT status, Mission Data Load and Recording.

In some embodiments, a server consists of two halves. The first half is platform-specific and understands the platform-defined protocol for talking to its respective onboard hardware. For example, the platform-specific half of the Navigation Server knows how to talk to the onboard INS. The second half provides general services to all components within the Multi-EW architecture. It uses common algorithms and common interfaces (such as Sockets or CORBA) to provide common services to all interested components. For example, the general half of the Navigation Server knows how to transform, interpolate and publish Navigation messages in a common format.

FIG. 1A shows an example of one embodiment of the invention in which a single collector is shared by multiple application programs. That is, for example, a mission computer on board a vehicle executes an ESM application program, a GeoLoc application program, and an ELINT application program. Each of these application programs communicates via an API with a collector to collect signals. Because each of these application programs uses the receiver for only a portion of the time, all three application programs may share a single collector.

In some embodiments, multiple collectors may be provided for use by a single application program. For example, decoupling the Collector from the application program allows a dense-environment application program to subdivide its signal collection workload among multiple collectors. For example, in FIG. 1B, an ESM application program may subdivide its workload amongst two collectors. In some situations, having multiple collectors may increase cost, weight and volume, but in some situations this may be acceptable in order to enhance performance and data throughput. However, having multiple collectors may not increase software costs, as in some embodiments, the same signal collector software may be used in each collector.

Additionally, in some embodiments, the de-coupled components may be installed on multiple platforms. For example, collectors may be installed on multiple airborne platforms. These airborne platforms could send track reports to a centralized (e.g., ground-based) platform. The centralized platform may then use the track reports from the spatially-dispersed airborne platforms to provide results that take into account information from different sources, with an improved response time.

The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. It should be appreciated that any component or collection of components that perform the functions described above can be generically considered as one or more controllers that control the above-discussed functions. The one or more controllers can be implemented in numerous ways, such as with dedicated hardware, or with general purpose hardware (e.g., one or more processors) that is programmed using microcode or software to perform the functions recited above. The one or more controllers may be included in one or more host computers, one or more storage systems, or any other type of computer that may include one or more storage devices coupled to the one or more controllers.

In this respect, it should be appreciated that one implementation of the embodiments of the present invention comprises at least one computer-readable medium (e.g., a computer memory, a floppy disk, a compact disk, a tape, etc.) encoded with a computer program (i.e., a plurality of instructions), which, when executed on a processor, performs the above-discussed functions of the embodiments of the present invention. The computer-readable medium can be transportable such that the program stored thereon can be loaded onto any computer system resource to implement the aspects of the present invention discussed herein. In addition, it should be appreciated that the reference to a computer program which, when executed, performs the above-discussed functions, is not limited to an application program running on a host computer. Rather, the term computer program is used herein in a generic sense to reference any type of computer code (e.g., software or microcode) that can be employed to program a processor to implement the above-discussed aspects of the present invention.

It should be appreciated that in accordance with several embodiments of the present invention wherein processes are implemented in a computer readable medium, the computer implemented processes may, during the course of their execution, receive input manually (e.g., from a user).

The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing”, “involving”, and variations thereof herein, is meant to encompass the items listed thereafter and additional items.

Having described several embodiments of the invention in detail, various modifications and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and is not intended as limiting. 

1. In a computer system comprising at least one processor that executes at least two application programs and a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software, a method of operating the signal collector comprising: operating the signal collection software for a first period of time using a first of the at least two application programs via an application programming interface (API); and operating the signal collection software for a second period of time using a second of the at least two application programs via the API.
 2. The method of claim 1, wherein the first of the at least two application programs in an ELINT application program and the second of the at least two application programs in an ESM application program.
 3. The method of claim 1, wherein the computer system is situated in a vehicle.
 4. The method of claim 1, wherein the vehicle is an airborne vehicle.
 5. At least one computer readable medium encoded with instructions that, when executed on a computer system comprising at least one processor that executes at least two application programs and a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software, performs a method comprising: interfacing the signal collection software for a first period of time with a first of the at least two application programs; and interfacing the signal collection software for a second period of time with a second of the at least two application programs.
 6. The at least one computer readable medium of claim 5, wherein the first of the at least two application programs in an ELINT application program and the second of the at least two application programs in an ESM application program.
 7. The at least one computer readable medium of claim 5, wherein the computer system is situated in a vehicle.
 8. The at least one computer readable medium of claim 5, wherein the vehicle is an airborne vehicle.
 9. A computer system comprising: at least one processor that executes at least two application programs; a signal collector that includes signal collection software and a receiver that is controlled by the signal collection software; and at least one controller that: interfaces the signal collection software for a first period of time with a first of the at least two application programs; and interfaces the signal collection software for a second period of time with a second of the at least two application programs.
 10. The computer system of claim 9, wherein the first of the at least two application programs in an ELINT application program and the second of the at least two application programs in an ESM application program.
 11. The computer system of claim 9, wherein the computer system is situated in a vehicle.
 12. The computer system of claim 9, wherein the vehicle is an airborne vehicle. 